package com.boot.springBoot.common.array;

/**
 * 
    * @ClassName: Array  
    * @Description: TODO(数组操作接口)  
    * @author Administrator  
    * @date 2019年5月7日  
    *
 */
public interface Array<T> {
	
	//初始化大小
	 int capacity = 10;
	
	 int NOEXIST = -1;
	
	// 获取数组大小
	int getSize();

	//获取数组的容量
	int getCapacity();
	
	//增加元素
	void add(int index,T e);

	//在所有元素的最前面添加
	void addFirst(T e);

	// 在所有元素的最后面添加
	void addLast(T e);

	void set(int index,T t);
	
	//溢出元素
	T remove(int index);

	T removeFirst();

	T removeLast();
	
	//判空
	boolean isEmpty();
	
	//动态扩容
	void resize(int resize);
	
	//返回元素所在位置
	boolean contains();
	
	//得到元素索引
	int getIndex();

	//
	int firstIndex();
	
	int lastIndex();

}
